/**
 * 将行政区划数据转换为级联选择器格式
 * @param {Array} data 原始数据
 * @returns {Array} 转换后的数据
 */
export function transformRegionData(data) {
  // 数据已经是树形结构，只需要处理一下名称格式
  return data.map(province => {
    // 处理省级数据
    const provinceData = {
      value: province.code,
      label: province.name.replace(/[省市自治区特别行政区]$/, ''),
      children: []
    }

    // 处理市级数据
    if (province.children && province.children.length > 0) {
      provinceData.children = province.children.map(city => {
        // 如果是直辖市，city就是区县数据
        if (['11', '12', '31', '50'].includes(province.code)) {
          return city.children.map(district => ({
            value: district.code,
            label: district.name.replace(/[区县]$/, '')
          }))
        }
        
        // 普通省份的市级数据
        const cityData = {
          value: city.code,
          label: city.name.replace(/[市州地区]$/, ''),
          children: []
        }

        // 处理区县数据
        if (city.children && city.children.length > 0) {
          cityData.children = city.children.map(district => ({
            value: district.code,
            label: district.name.replace(/[区县市旗]$/, '')
          }))
        }

        return cityData
      }).flat() // 使用 flat() 来处理直辖市的特殊情况
    }

    return provinceData
  })
}